<?php
/*
php标准格式；
学习模板！
*/
header("content-type:text/html;charset=UTF-8");
/*
要求:
请编写一个和尚类Monk ，这个和尚很猛，可以完成如下人
属性(名字, 年龄，本领，性别)
可以通过如下方式来完成如下做如下功能
      $monk1->play($arr); => 传入一个数组，可以对数组进行排序，要求对传入的数组本身排序. [提示 信息为 xx和尚 完成了 xx任务]
      $monk1->play($arr1, $arr2) => 传入两个数组，可以将数组合并后，返回新数组     [提示 信息为 xx和尚 完成了 xx任务]
      $monk1->play($arr1, $num) => 输入一个数组，和一个数，可以查询$arr1中有没有这个数，并返回该数在$arr1 的下标，如果查不到，
就返回-1 。 [提示 信息为 xx和尚 完成了 xx任务]
要求:
可以通过如下方式来完成如下做如下功能
      $monk1::play2($arr); => 传入一个数组，可以对数组进行排序，要求对传入的数组本身排序. [提示 信息为 xx和尚 完成了 xx任务]
      $monk1::play2($arr1, $arr2) => 传入两个数组，可以将数组合并后，返回新数组     [提示 信息为 xx和尚 完成了 xx任务]
      $monk1::play2($arr1, $num) => 输入一个数组，和一个数，可以查询$arr1中有没有这个数，并返回该数在$arr1 的下标，如果查不到，
就返回-1 。 [提示 信息为 xx和尚 完成了 xx任务]

*/
class Monk{
	public $name;
	public $age;
	public $skill;
	public $gender;
	public function __construct($name,$age,$skill,$gender){
		$this->name = $name;
		$this->age = $age;
		$this->skill = $skill;
		$this->gender = $gender;
	}
	//传入一个数组，可以对数组进行排序，要求对传入的数组本身排序. [提示 信息为 xx和尚 完成了 xx任务]
	private function arrsort($arr){
		$arrret = $arr;
		sort($arrret);
		return $arrret;
	}
	// $monk1->play($arr1, $arr2) => 传入两个数组，可以将数组合并后，返回新数组     [提示 信息为 xx和尚 完成了 xx任务]
	private function arrmerge($arr1,$arr2){
		echo '<br>' . $this->name . '和尚 完成了数组合并任务';
		return array_merge($arr1,$arr2);
	}
	// $monk1->play($arr1, $num) => 输入一个数组，和一个数，可以查询$arr1中有没有这个数，并返回该数在$arr1 的下标，如果查不到，就返回-1 。 [提示 信息为 xx和尚 完成了 xx任务]
	private function Findelement($arr1,$num){
		foreach ($arr1 as $key => $value) {
			if($value===$num)
			{
				echo '<br>' . $this->name . '完成了查询数组元素索引任务';
				return $key;
			}
		}
		return -1;
	}
	public function __call($name,$arrgor){
		if($name==='play'){
			if(count($arrgor)==1){
				return $this->arrsort($arrgor[0]);
			}elseif (count($arrgor)==2 && is_array($arrgor[1])) {
				return $this->arrmerge($arrgor[0],$arrgor[1]);
			}elseif (count($arrgor)==2 && is_integer($arrgor[1])) {
				return $this->Findelement($arrgor[0],$arrgor[1]);
			}
		}
	}
}
$NewMonk = new Monk('鲁智深',20,'力大无穷','男');
$arr = array(1,28,6,598,25,36,96,256);
$arrret = $NewMonk->play($arr);
var_dump($arrret);
$arr2 =array(56,32,98,25,6,48,0,565,258,2651,987);
$arrret = $NewMonk->play($arr,$arr2);
var_dump($arrret);
$arrret = $NewMonk->play($arr2,2651);
var_dump($arrret);
?>